#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Módulos 
import sys, gtk, pygame, utils, objetos
from pygame.locals import *

# Constantes

# Clases
# ---------------------------------------------------------------------
        
class Linea:
	def __init__(self,texto,posx,posy):
		self.text,self.rect = utils.textotls(texto, posx,posy,16,(50,50,50))

class Respuesta:
	def __init__(self,texto,posx,posy):
		self.text,self.rect = utils.textotlb(texto, posx,posy,18,(50,50,50))
		self.checked = False
		self.sonido = pygame.mixer.Sound("sounds/harp.ogg")
		self.sonido.set_volume(0.2)
		self.posx = posx
		self.posy = posy


# ---------------------------------------------------------------------
def dibujar(screen,cursor_picture, clock):
    salir = 0
    background_image = utils.load_image('images/fondo0_1.jpg')
    btn_adelante = objetos.BotonAdelante()
    btn_atras = objetos.BotonAtras()
    
    titulo, titulo_rect = utils.textotls("Marcá con una V o F según sean verdaderas o falsas.", 360*utils.RES, 55*utils.RES,22,(50,50,255))
     
    preguntas = ( Linea('1. Los recursos renovables son los que se encuentran disponibles.', 340*utils.RES,100*utils.RES),
    Linea('en cantidades fijas, limitadas.', 242*utils.RES,120*utils.RES),
    Linea('2. El agua es uno de los recursos naturales fundamentales para la vida.', 357*utils.RES,150*utils.RES),    
    Linea('3. El agua apta para el consumo humano nunca se va acabar.', 327*utils.RES,180*utils.RES),
    Linea('4. No necesito esforzarme para alcanzar mis objetivos.', 306*utils.RES,210*utils.RES),
    Linea('5. Los emprendedores nunca toman decisiones.', 285*utils.RES,240*utils.RES),    
    Linea('6. Cuando tomo una decisión tengo que aceptar las consecuencias.', 350*utils.RES,270*utils.RES),
    Linea('7. Para trabajar en equipo tengo que respetar a los demás.', 321*utils.RES,300*utils.RES),
    Linea('8. No es necesario que los cuidadanos se unan para producir cambios.', 360*utils.RES,330*utils.RES),
    Linea('9. Si queremos que nuestro medio ambiente mejore, esperaremos', 345*utils.RES,360*utils.RES),
    Linea('que los demás hagan algo.', 240*utils.RES,380*utils.RES),
    Linea('10. Todos somos responsables del ambiente que nos rodea.', 323*utils.RES,410*utils.RES))    
    
    resp1 = (Respuesta('V', 610*utils.RES,100*utils.RES),
    Respuesta('F', 650*utils.RES,100*utils.RES))
    resp2 = (Respuesta('V', 610*utils.RES,150*utils.RES),
    Respuesta('F', 650*utils.RES,150*utils.RES))
    resp3 = (Respuesta('V', 610*utils.RES,180*utils.RES),
    Respuesta('F', 650*utils.RES,180*utils.RES))
    resp4 = (Respuesta('V', 610*utils.RES,210*utils.RES),
    Respuesta('F', 650*utils.RES,210*utils.RES))
    resp5 = (Respuesta('V', 610*utils.RES,240*utils.RES),
    Respuesta('F', 650*utils.RES,240*utils.RES))
    resp6 = (Respuesta('V', 610*utils.RES,270*utils.RES),
    Respuesta('F', 650*utils.RES,270*utils.RES))
    resp7 = (Respuesta('V', 610*utils.RES,300*utils.RES),
    Respuesta('F', 650*utils.RES,300*utils.RES))
    resp8 = (Respuesta('V', 610*utils.RES,330*utils.RES),
    Respuesta('F', 650*utils.RES,330*utils.RES))
    resp9 = (Respuesta('V', 610*utils.RES,360*utils.RES),
    Respuesta('F', 650*utils.RES,360*utils.RES))
    resp10 = (Respuesta('V', 610*utils.RES,410*utils.RES),
    Respuesta('F', 650*utils.RES,410*utils.RES))
    
    respuestas = (resp1,resp2,resp3,resp4,resp5,resp6,resp7,resp8,resp9,resp10)
    
    cuadro = pygame.draw.rect(screen,(50,50,255),(100*utils.RES,150*utils.RES,400*utils.RES,100*utils.RES))
    
    while salir == 0:
    
    	# Pump GTK messages.sub
		while gtk.events_pending():
			gtk.main_iteration()
			
		for eventos in pygame.event.get():
			if eventos.type == QUIT:
				sys.exit(0)
			elif eventos.type == pygame.VIDEORESIZE:
			   pygame.display.set_mode(eventos.size, pygame.RESIZABLE)	
			elif eventos.type == MOUSEBUTTONDOWN:
				if btn_adelante.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 4
					btn_adelante.sonido.play()	
				elif btn_atras.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 2					
					btn_atras.sonido.play()
				for respuesta in respuestas:
					for opcion in respuesta:
						if opcion.rect.collidepoint(pygame.mouse.get_pos()):	
							for opcion2 in respuesta:
								opcion2.checked = False
							opcion.checked = True		
			

		# Realiza la animacion del texto
		
		screen.blit(background_image, (0, 0))
		screen.blit(titulo, titulo_rect)
		for palabra in preguntas:
			screen.blit(palabra.text, palabra.rect)
		for respuesta in respuestas:
			for opcion in respuesta:
				screen.blit(opcion.text, opcion.rect)
				if opcion.checked:
					pygame.draw.circle(screen,(255,0,0),(opcion.posx,opcion.posy),15,1)
				
		screen.blit(btn_adelante.image, btn_adelante.rect)
		screen.blit(btn_atras.image, btn_atras.rect)
		screen.blit(cursor_picture, pygame.mouse.get_pos())
		pygame.display.flip()

		# Try to stay at 30 FPS
		clock.tick(30)
                	 
    return salir

# This function is called when the game is run directly from the command line:
# ./TestGame.py 
def main():
	
	pygame.init()
	screen = pygame.display.set_mode((int(800*utils.RES), int(520*utils.RES)), pygame.RESIZABLE) #pygame.display.get_surface() #

	# Fake a Sugar cursor for the pyGame canvas area
	pygame.mouse.set_cursor((8,8),(0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0))
	cursor_picture = pygame.image.load('images/standardcursor.png')
	cursor_picture.convert_alpha() 
	clock = pygame.time.Clock()
	dibujar(screen,cursor_picture,clock)

if __name__ == '__main__':
   main()
